Fossil SCM
Draft fix for issue with 'ticket set +icomment' reported by Venkat Iyer on the mailing list.
Commit
0b646cea7ce6e2d37336f7a965f87944f2c7ce3d
Parent
f014e83bc444116…
2 files changed
+10
-5
+10
-5
+10
-5
| --- src/tkt.c | ||
| +++ src/tkt.c | ||
| @@ -216,20 +216,25 @@ | ||
| 216 | 216 | const char *zBaseName = zName[0]=='+' ? zName+1 : zName; |
| 217 | 217 | j = fieldId(zBaseName); |
| 218 | 218 | if( j<0 ) continue; |
| 219 | 219 | aUsed[j] = 1; |
| 220 | 220 | if( aField[j].mUsed & USEDBY_TICKET ){ |
| 221 | - if( zName[0]=='+' ){ | |
| 222 | - zName++; | |
| 221 | + const char *zUsedByName = zName; | |
| 222 | + if( zUsedByName[0]=='+' ){ | |
| 223 | + zUsedByName++; | |
| 223 | 224 | blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q", |
| 224 | - zName, zName, p->aField[i].zValue); | |
| 225 | + zUsedByName, zUsedByName, p->aField[i].zValue); | |
| 225 | 226 | }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); | |
| 227 | 228 | } |
| 228 | 229 | } |
| 229 | 230 | 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); | |
| 231 | 236 | blob_append_sql(&sql3, ",%Q", p->aField[i].zValue); |
| 232 | 237 | } |
| 233 | 238 | if( rid>0 ){ |
| 234 | 239 | wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0); |
| 235 | 240 | } |
| 236 | 241 |
| --- 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 @@ | ||
| 216 | 216 | const char *zBaseName = zName[0]=='+' ? zName+1 : zName; |
| 217 | 217 | j = fieldId(zBaseName); |
| 218 | 218 | if( j<0 ) continue; |
| 219 | 219 | aUsed[j] = 1; |
| 220 | 220 | if( aField[j].mUsed & USEDBY_TICKET ){ |
| 221 | - if( zName[0]=='+' ){ | |
| 222 | - zName++; | |
| 221 | + const char *zUsedByName = zName; | |
| 222 | + if( zUsedByName[0]=='+' ){ | |
| 223 | + zUsedByName++; | |
| 223 | 224 | blob_append_sql(&sql1,", \"%w\"=coalesce(\"%w\",'') || %Q", |
| 224 | - zName, zName, p->aField[i].zValue); | |
| 225 | + zUsedByName, zUsedByName, p->aField[i].zValue); | |
| 225 | 226 | }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); | |
| 227 | 228 | } |
| 228 | 229 | } |
| 229 | 230 | 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); | |
| 231 | 236 | blob_append_sql(&sql3, ",%Q", p->aField[i].zValue); |
| 232 | 237 | } |
| 233 | 238 | if( rid>0 ){ |
| 234 | 239 | wiki_extract_links(p->aField[i].zValue, rid, 1, p->rDate, i==0, 0); |
| 235 | 240 | } |
| 236 | 241 |
| --- 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 |