From a749fdfc3615246713808529cc1ab7e947040ec7 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 16 Jul 2024 20:14:40 +0000 Subject: library api's: _meta_ namespace: make header creation interfaces context independent. --- src/logic/tpax_archive_write.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/logic') diff --git a/src/logic/tpax_archive_write.c b/src/logic/tpax_archive_write.c index a881bd9..f01bb7b 100644 --- a/src/logic/tpax_archive_write.c +++ b/src/logic/tpax_archive_write.c @@ -110,6 +110,7 @@ static int tpax_archive_write_impl( int fdcwd, int fdout) { + int ret; struct tpax_unit_ctx * uctx; struct tpax_ustar_header uhdr; const struct stat * st; @@ -210,9 +211,14 @@ static int tpax_archive_write_impl( dpos = hpos + sizeof(uhdr); /* header */ - if (tpax_meta_init_ustar_header( - dctx,apath,st, - slnk,&uhdr) < 0) + if (dctx->cctx->drvflags & TPAX_DRIVER_WRITE_FORMAT_RUSTAR) { + ret = tpax_meta_init_rustar_header(apath,st,slnk,&uhdr); + + } else if (dctx->cctx->drvflags & TPAX_DRIVER_WRITE_FORMAT_USTAR) { + ret = tpax_meta_init_ustar_header(apath,st,slnk,&uhdr); + } + + if (ret < 0) return tpax_archive_write_ret( TPAX_NESTED_ERROR(dctx), dctx,uctx); -- cgit v1.2.3