From 5fac6c64cec889bc3587eee2e1b3cfabbe512967 Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 6 Jul 2018 08:21:02 -0400 Subject: library interfaces: invocations of openat() now use the context's fdcwd. --- src/logic/slbt_exec_install.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/logic/slbt_exec_install.c') diff --git a/src/logic/slbt_exec_install.c b/src/logic/slbt_exec_install.c index 9380e8a..32c1ac6 100644 --- a/src/logic/slbt_exec_install.c +++ b/src/logic/slbt_exec_install.c @@ -226,6 +226,7 @@ static int slbt_exec_install_library_wrapper( struct argv_entry * entry, char * dstdir) { + int fdcwd; int fddst; size_t buflen; const char * base; @@ -252,12 +253,15 @@ static int slbt_exec_install_library_wrapper( entry->arg) >= sizeof(clainame)) return SLBT_BUFFER_ERROR(dctx); + /* fdcwd */ + fdcwd = slbt_driver_fdcwd(dctx); + /* fddst (libfoo.la.slibtool.install, build directory) */ - if ((fddst = openat(AT_FDCWD,clainame,O_RDWR|O_CREAT|O_TRUNC,0644)) < 0) + if ((fddst = openat(fdcwd,clainame,O_RDWR|O_CREAT|O_TRUNC,0644)) < 0) return SLBT_SYSTEM_ERROR(dctx); /* mapinfo (libfoo.la, build directory) */ - if (!(mapinfo = slbt_map_file(AT_FDCWD,entry->arg,SLBT_MAP_INPUT))) { + if (!(mapinfo = slbt_map_file(fdcwd,entry->arg,SLBT_MAP_INPUT))) { close(fddst); return SLBT_SYSTEM_ERROR(dctx); } -- cgit v1.2.3