- if (hdr->type < BUCKET_TYPE_V33)
- obj_read_multi(body, o);
+ if (buck_type < BUCKET_TYPE_V33)
+ {
+ if (!body_start) // header + body: ignore empty lines, read until EOF
+ {
+ obj_read_multi(body, o);
+ bgetc(body);
+ }
+ else // header only: end on EOF or the first empty line
+ {
+ sh_off_t start = btell(body);
+ obj_read(body, o);
+ *body_start = btell(body) - start;
+ }
+ }