From 3d2f83b5a3d42dd9b3430379a08a81f8004c7eb4 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 25 Feb 2024 21:57:24 +0000 Subject: internals: added slbt_impl_get_txtfile_ctx() (caller-provided fd as input). --- src/driver/slbt_txtfile_ctx.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/driver') diff --git a/src/driver/slbt_txtfile_ctx.c b/src/driver/slbt_txtfile_ctx.c index 12b9cff..6159b1e 100644 --- a/src/driver/slbt_txtfile_ctx.c +++ b/src/driver/slbt_txtfile_ctx.c @@ -14,6 +14,7 @@ #include #include "slibtool_driver_impl.h" #include "slibtool_errinfo_impl.h" +#include "slibtool_visibility_impl.h" /********************************************************/ /* Read a text file, and create an in-memory vecotr of */ @@ -45,9 +46,10 @@ static int slbt_lib_free_txtfile_ctx_impl( return ret; } -int slbt_lib_get_txtfile_ctx( +static int slbt_lib_get_txtfile_ctx_impl( const struct slbt_driver_ctx * dctx, const char * path, + int fdsrc, struct slbt_txtfile_ctx ** pctx) { struct slbt_txtfile_ctx_impl * ctx; @@ -62,7 +64,7 @@ int slbt_lib_get_txtfile_ctx( int cint; /* map txtfile file temporarily */ - if (slbt_fs_map_input(dctx,-1,path,PROT_READ,&mapinfo) < 0) + if (slbt_fs_map_input(dctx,fdsrc,path,PROT_READ,&mapinfo) < 0) return SLBT_NESTED_ERROR(dctx); /* alloc context */ @@ -140,6 +142,23 @@ int slbt_lib_get_txtfile_ctx( return 0; } +slbt_hidden int slbt_impl_get_txtfile_ctx( + const struct slbt_driver_ctx * dctx, + const char * path, + int fdsrc, + struct slbt_txtfile_ctx ** pctx) +{ + return slbt_lib_get_txtfile_ctx_impl(dctx,path,fdsrc,pctx); +} + +int slbt_lib_get_txtfile_ctx( + const struct slbt_driver_ctx * dctx, + const char * path, + struct slbt_txtfile_ctx ** pctx) +{ + return slbt_lib_get_txtfile_ctx_impl(dctx,path,(-1),pctx); +} + void slbt_lib_free_txtfile_ctx(struct slbt_txtfile_ctx * ctx) { struct slbt_txtfile_ctx_impl * ictx; -- cgit v1.2.3