refactor: split metadata.c into reader/writer

Separate read-only metadata accessors from write-path mutators to
prepare for the dual-license split (MIT reader / LGPL writer).

metadata.c retains 20 aaruf_get_* functions: geometry, media sequence,
creator, comments, media title, media/drive manufacturer/model/serial/
barcode/part number, firmware revision, CICM metadata, Aaru JSON
metadata, user/negative/overflow sectors, and image info.

metadata_write.c receives 28 functions: 15 aaruf_set_* (geometry,
media sequence, creator, comments, media title, media/drive
manufacturer/model/serial/barcode/part number, firmware revision,
Aaru JSON metadata) and 13 aaruf_clear_* counterparts.

No shared static helpers between the two files. No behavioral change.
All functions are independent public API — no function pointer or
callback mechanism needed (unlike close.c which required a finalization
hook).

Verified:
- Builds cleanly, zero warnings
- 163/165 tests pass (2 pre-existing failures)
- metadata.o exports no set_/clear_ symbols
This commit is contained in:
Kevin Bortis
2026-04-02 08:45:36 +02:00
parent 62202a5c29
commit 59c1aebcae
3 changed files with 3164 additions and 3118 deletions

View File

@@ -256,6 +256,7 @@ add_library(aaruformat
src/lisa_tag.c
include/aaruformat/structs/lisa_tag.h
src/metadata.c
src/metadata_write.c
src/dump.c
include/aaruformat/structs/tape.h
src/blocks/tape.c

File diff suppressed because it is too large Load Diff

3153
src/metadata_write.c Normal file

File diff suppressed because it is too large Load Diff