From 00bc9c19cdd57be69d8ab8ac9d0459efc25aab6a Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 20 Apr 2021 22:15:00 +0000 Subject: driver: tpax_get_unit_ctx(): support paths relative to an arbitrary location. --- src/driver/tpax_amain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/driver/tpax_amain.c') diff --git a/src/driver/tpax_amain.c b/src/driver/tpax_amain.c index d94eaf0..9d87e18 100644 --- a/src/driver/tpax_amain.c +++ b/src/driver/tpax_amain.c @@ -4,6 +4,7 @@ /* Released under GPLv2 and GPLv3; see COPYING.TPAX. */ /******************************************************/ +#include #include #include #include @@ -67,6 +68,7 @@ int tpax_main(char ** argv, char ** envp, const struct tpax_fd_ctx * fdctx) { int ret; int fdout; + int fdcwd; uint64_t flags; struct tpax_driver_ctx * dctx; struct tpax_unit_ctx * uctx; @@ -74,6 +76,7 @@ int tpax_main(char ** argv, char ** envp, const struct tpax_fd_ctx * fdctx) flags = TPAX_DRIVER_FLAGS; fdout = fdctx ? fdctx->fdout : STDOUT_FILENO; + fdcwd = fdctx ? fdctx->fdcwd : AT_FDCWD; if ((ret = tpax_get_driver_ctx(argv,envp,flags,fdctx,&dctx))) return (ret == TPAX_USAGE) @@ -85,7 +88,7 @@ int tpax_main(char ** argv, char ** envp, const struct tpax_fd_ctx * fdctx) return tpax_exit(dctx,TPAX_ERROR); for (unit=dctx->units; *unit; unit++) { - if (!(tpax_get_unit_ctx(dctx,*unit,&uctx))) { + if (!(tpax_get_unit_ctx(dctx,fdcwd,*unit,&uctx))) { tpax_perform_unit_actions(dctx,uctx); tpax_free_unit_ctx(uctx); } -- cgit v1.2.3