| 395 | } |
| 396 | |
| 397 | char *bencode_collapse(bencode_item_t *root, int *len) { |
| 398 | char *ret; |
| 399 | int l; |
| 400 | |
| 401 | if (!root) |
| 402 | return NULL; |
| 403 | assert(root->str_len > 0); |
| 404 | |
| 405 | ret = __bencode_alloc(root->buffer, root->str_len + 1); |
| 406 | if (!ret) |
| 407 | return NULL; |
| 408 | l = __bencode_str_dump(ret, root); |
| 409 | if (len) |
| 410 | *len = l; |
| 411 | return ret; |
| 412 | } |
| 413 | |
| 414 | char *bencode_collapse_dup(bencode_item_t *root, int *len) { |
| 415 | char *ret; |