| 333 | } |
| 334 | |
| 335 | void json_add_escaped_string(struct json_stream *result, const char *fieldname, |
| 336 | const struct json_escape *esc TAKES) |
| 337 | { |
| 338 | if (json_filter_ok(result->filter, fieldname)) { |
| 339 | /* Already escaped, don't re-escape! */ |
| 340 | char *dest = json_member_direct(result, fieldname, |
| 341 | 1 + strlen(esc->s) + 1); |
| 342 | |
| 343 | dest[0] = '"'; |
| 344 | memcpy(dest + 1, esc->s, strlen(esc->s)); |
| 345 | dest[1+strlen(esc->s)] = '"'; |
| 346 | } |
| 347 | tal_free_if_taken(esc); |
| 348 | } |
| 349 | |
| 350 | void json_add_timeabs(struct json_stream *result, const char *fieldname, |
| 351 | struct timeabs t) |