| 525 | } |
| 526 | |
| 527 | static int reftable_obj_record_encode(const void *rec, struct string_view s, |
| 528 | uint32_t hash_size REFTABLE_UNUSED) |
| 529 | { |
| 530 | const struct reftable_obj_record *r = rec; |
| 531 | struct string_view start = s; |
| 532 | int i = 0; |
| 533 | int n = 0; |
| 534 | uint64_t last = 0; |
| 535 | if (r->offset_len == 0 || r->offset_len >= 8) { |
| 536 | n = put_var_int(&s, r->offset_len); |
| 537 | if (n < 0) |
| 538 | return n; |
| 539 | string_view_consume(&s, n); |
| 540 | } |
| 541 | if (r->offset_len == 0) |
| 542 | return start.len - s.len; |
| 543 | n = put_var_int(&s, r->offsets[0]); |
| 544 | if (n < 0) |
| 545 | return n; |
| 546 | string_view_consume(&s, n); |
| 547 | |
| 548 | last = r->offsets[0]; |
| 549 | for (i = 1; i < r->offset_len; i++) { |
| 550 | int n = put_var_int(&s, r->offsets[i] - last); |
| 551 | if (n < 0) |
| 552 | return n; |
| 553 | string_view_consume(&s, n); |
| 554 | last = r->offsets[i]; |
| 555 | } |
| 556 | return start.len - s.len; |
| 557 | } |
| 558 | |
| 559 | static int reftable_obj_record_decode(void *rec, struct reftable_buf key, |
| 560 | uint8_t val_type, struct string_view in, |
nothing calls this directly
no test coverage detected