Fossil SCM
In artifact_to_json(), restructure J-cards such that their optional '+' prefix is treated as a boolean 'append' property, not part of their name, analog to how T-card prefixes are handled.
Commit
98396f476942f0ff6b9ca9713cc61894ecb8f717e3fe78ea1a4f8a60011786a4
Parent
b9fb4039e25abc9…
1 file changed
+3
-1
+3
-1
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -3006,14 +3006,16 @@ | ||
| 3006 | 3006 | CARD_STR2(I, p->zInReplyTo); |
| 3007 | 3007 | if( p->nField ){ |
| 3008 | 3008 | CARD_LETTER(J); |
| 3009 | 3009 | blob_append_char(b, '['); |
| 3010 | 3010 | for( i = 0; i < p->nField; ++i ){ |
| 3011 | + const char * zName = p->aField[i].zName; | |
| 3011 | 3012 | if( i>0 ) blob_append_char(b, ','); |
| 3012 | 3013 | blob_append_char(b, '{'); |
| 3013 | - KVP_STR(0, name, p->aField[i].zName); | |
| 3014 | + KVP_STR(0, name, '+'==*zName ? &zName[1] : zName); | |
| 3014 | 3015 | KVP_STR(1, value, p->aField[i].zValue); |
| 3016 | + blob_appendf(b, ", \"append\": %s", '+'==*zName ? "true" : "false"); | |
| 3015 | 3017 | blob_append_char(b, '}'); |
| 3016 | 3018 | } |
| 3017 | 3019 | blob_append_char(b, ']'); |
| 3018 | 3020 | } |
| 3019 | 3021 | CARD_STR2(K, p->zTicketUuid); |
| 3020 | 3022 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -3006,14 +3006,16 @@ | |
| 3006 | CARD_STR2(I, p->zInReplyTo); |
| 3007 | if( p->nField ){ |
| 3008 | CARD_LETTER(J); |
| 3009 | blob_append_char(b, '['); |
| 3010 | for( i = 0; i < p->nField; ++i ){ |
| 3011 | if( i>0 ) blob_append_char(b, ','); |
| 3012 | blob_append_char(b, '{'); |
| 3013 | KVP_STR(0, name, p->aField[i].zName); |
| 3014 | KVP_STR(1, value, p->aField[i].zValue); |
| 3015 | blob_append_char(b, '}'); |
| 3016 | } |
| 3017 | blob_append_char(b, ']'); |
| 3018 | } |
| 3019 | CARD_STR2(K, p->zTicketUuid); |
| 3020 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -3006,14 +3006,16 @@ | |
| 3006 | CARD_STR2(I, p->zInReplyTo); |
| 3007 | if( p->nField ){ |
| 3008 | CARD_LETTER(J); |
| 3009 | blob_append_char(b, '['); |
| 3010 | for( i = 0; i < p->nField; ++i ){ |
| 3011 | const char * zName = p->aField[i].zName; |
| 3012 | if( i>0 ) blob_append_char(b, ','); |
| 3013 | blob_append_char(b, '{'); |
| 3014 | KVP_STR(0, name, '+'==*zName ? &zName[1] : zName); |
| 3015 | KVP_STR(1, value, p->aField[i].zValue); |
| 3016 | blob_appendf(b, ", \"append\": %s", '+'==*zName ? "true" : "false"); |
| 3017 | blob_append_char(b, '}'); |
| 3018 | } |
| 3019 | blob_append_char(b, ']'); |
| 3020 | } |
| 3021 | CARD_STR2(K, p->zTicketUuid); |
| 3022 |