mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
Fix missing call to close tape DDT.
This commit is contained in:
12
src/close.c
12
src/close.c
@@ -4003,8 +4003,17 @@ int aaruf_close(void *context)
|
|||||||
if(error != AARUF_STATUS_OK) return error;
|
if(error != AARUF_STATUS_OK) return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t res;
|
||||||
|
if(ctx->is_tape)
|
||||||
|
{
|
||||||
|
// Write tape DDT
|
||||||
|
res = write_tape_ddt(ctx);
|
||||||
|
if(res != AARUF_STATUS_OK) return res;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// Write cached secondary DDT table if any
|
// Write cached secondary DDT table if any
|
||||||
int32_t res = write_cached_secondary_ddt(ctx);
|
res = write_cached_secondary_ddt(ctx);
|
||||||
if(res != AARUF_STATUS_OK) return res;
|
if(res != AARUF_STATUS_OK) return res;
|
||||||
|
|
||||||
// Write primary DDT table (multi-level) if applicable
|
// Write primary DDT table (multi-level) if applicable
|
||||||
@@ -4014,6 +4023,7 @@ int aaruf_close(void *context)
|
|||||||
// Write single-level DDT table if applicable
|
// Write single-level DDT table if applicable
|
||||||
res = write_single_level_ddt(ctx);
|
res = write_single_level_ddt(ctx);
|
||||||
if(res != AARUF_STATUS_OK) return res;
|
if(res != AARUF_STATUS_OK) return res;
|
||||||
|
}
|
||||||
|
|
||||||
// Finalize checksums and write checksum block
|
// Finalize checksums and write checksum block
|
||||||
write_checksum_block(ctx);
|
write_checksum_block(ctx);
|
||||||
|
|||||||
Reference in New Issue
Block a user