Fossil SCM

Draft fix for issue with 'ticket set +icomment' reported by Venkat Iyer on the mailing list.

mistachkin 2016-10-26 20:54 trunk merge
Commit 0b646cea7ce6e2d37336f7a965f87944f2c7ce3d
2 files changed +10 -5 +10 -5
+10 -5
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216216
const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217217
j = fieldId(zBaseName);
218218
if( j<0 ) continue;
219219
aUsed[j] = 1;
220220
if( aField[j].mUsed & USEDBY_TICKET ){
221
- if( zName[0]=='+' ){
222
- zName++;
221
+ const char *zUsedByName = zName;
222
+ if( zUsedByName[0]=='+' ){
223
+ zUsedByName++;
223224
blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
224
- zName, zName, p->aField[i].zValue);
225
+ zUsedByName, zUsedByName, p->aField[i].zValue);
225226
}else{
226
- blob_append_sql(&sql1,", \"%w\"=%Q", zName, p->aField[i].zValue);
227
+ blob_append_sql(&sql1,", \"%w\"=%Q", zUsedByName, p->aField[i].zValue);
227228
}
228229
}
229230
if( aField[j].mUsed & USEDBY_TICKETCHNG ){
230
- blob_append_sql(&sql2, ",\"%w\"", zName);
231
+ const char *zUsedByName = zName;
232
+ if( zUsedByName[0]=='+' ){
233
+ zUsedByName++;
234
+ }
235
+ blob_append_sql(&sql2, ",\"%w\"", zUsedByName);
231236
blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
232237
}
233238
if( rid>0 ){
234239
wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
235240
}
236241
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216 const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217 j = fieldId(zBaseName);
218 if( j<0 ) continue;
219 aUsed[j] = 1;
220 if( aField[j].mUsed & USEDBY_TICKET ){
221 if( zName[0]=='+' ){
222 zName++;
 
223 blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
224 zName, zName, p->aField[i].zValue);
225 }else{
226 blob_append_sql(&sql1,", \"%w\"=%Q", zName, p->aField[i].zValue);
227 }
228 }
229 if( aField[j].mUsed & USEDBY_TICKETCHNG ){
230 blob_append_sql(&sql2, ",\"%w\"", zName);
 
 
 
 
231 blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
232 }
233 if( rid>0 ){
234 wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
235 }
236
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216 const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217 j = fieldId(zBaseName);
218 if( j<0 ) continue;
219 aUsed[j] = 1;
220 if( aField[j].mUsed & USEDBY_TICKET ){
221 const char *zUsedByName = zName;
222 if( zUsedByName[0]=='+' ){
223 zUsedByName++;
224 blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
225 zUsedByName, zUsedByName, p->aField[i].zValue);
226 }else{
227 blob_append_sql(&sql1,", \"%w\"=%Q", zUsedByName, p->aField[i].zValue);
228 }
229 }
230 if( aField[j].mUsed & USEDBY_TICKETCHNG ){
231 const char *zUsedByName = zName;
232 if( zUsedByName[0]=='+' ){
233 zUsedByName++;
234 }
235 blob_append_sql(&sql2, ",\"%w\"", zUsedByName);
236 blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
237 }
238 if( rid>0 ){
239 wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
240 }
241
+10 -5
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216216
const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217217
j = fieldId(zBaseName);
218218
if( j<0 ) continue;
219219
aUsed[j] = 1;
220220
if( aField[j].mUsed & USEDBY_TICKET ){
221
- if( zName[0]=='+' ){
222
- zName++;
221
+ const char *zUsedByName = zName;
222
+ if( zUsedByName[0]=='+' ){
223
+ zUsedByName++;
223224
blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
224
- zName, zName, p->aField[i].zValue);
225
+ zUsedByName, zUsedByName, p->aField[i].zValue);
225226
}else{
226
- blob_append_sql(&sql1,", \"%w\"=%Q", zName, p->aField[i].zValue);
227
+ blob_append_sql(&sql1,", \"%w\"=%Q", zUsedByName, p->aField[i].zValue);
227228
}
228229
}
229230
if( aField[j].mUsed & USEDBY_TICKETCHNG ){
230
- blob_append_sql(&sql2, ",\"%w\"", zName);
231
+ const char *zUsedByName = zName;
232
+ if( zUsedByName[0]=='+' ){
233
+ zUsedByName++;
234
+ }
235
+ blob_append_sql(&sql2, ",\"%w\"", zUsedByName);
231236
blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
232237
}
233238
if( rid>0 ){
234239
wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
235240
}
236241
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216 const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217 j = fieldId(zBaseName);
218 if( j<0 ) continue;
219 aUsed[j] = 1;
220 if( aField[j].mUsed & USEDBY_TICKET ){
221 if( zName[0]=='+' ){
222 zName++;
 
223 blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
224 zName, zName, p->aField[i].zValue);
225 }else{
226 blob_append_sql(&sql1,", \"%w\"=%Q", zName, p->aField[i].zValue);
227 }
228 }
229 if( aField[j].mUsed & USEDBY_TICKETCHNG ){
230 blob_append_sql(&sql2, ",\"%w\"", zName);
 
 
 
 
231 blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
232 }
233 if( rid>0 ){
234 wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
235 }
236
--- src/tkt.c
+++ src/tkt.c
@@ -216,20 +216,25 @@
216 const char *zBaseName = zName[0]=='+' ? zName+1 : zName;
217 j = fieldId(zBaseName);
218 if( j<0 ) continue;
219 aUsed[j] = 1;
220 if( aField[j].mUsed & USEDBY_TICKET ){
221 const char *zUsedByName = zName;
222 if( zUsedByName[0]=='+' ){
223 zUsedByName++;
224 blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q",
225 zUsedByName, zUsedByName, p->aField[i].zValue);
226 }else{
227 blob_append_sql(&sql1,", \"%w\"=%Q", zUsedByName, p->aField[i].zValue);
228 }
229 }
230 if( aField[j].mUsed & USEDBY_TICKETCHNG ){
231 const char *zUsedByName = zName;
232 if( zUsedByName[0]=='+' ){
233 zUsedByName++;
234 }
235 blob_append_sql(&sql2, ",\"%w\"", zUsedByName);
236 blob_append_sql(&sql3, ",%Q", p->aField[i].zValue);
237 }
238 if( rid>0 ){
239 wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0);
240 }
241

Keyboard Shortcuts

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