diff options
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/slbt_archive_import.c | 7 | ||||
-rw-r--r-- | src/helper/slbt_copy_file.c | 7 | ||||
-rw-r--r-- | src/helper/slbt_realpath.c | 3 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/helper/slbt_archive_import.c b/src/helper/slbt_archive_import.c index ae8821b..b3b1cec 100644 --- a/src/helper/slbt_archive_import.c +++ b/src/helper/slbt_archive_import.c @@ -13,6 +13,7 @@ #include <sys/wait.h> #include <slibtool/slibtool.h> +#include "slibtool_driver_impl.h" #include "slibtool_spawn_impl.h" #include "slibtool_dprintf_impl.h" #include "slibtool_symlink_impl.h" @@ -80,6 +81,7 @@ int slbt_archive_import( char * dstarchive, char * srcarchive) { + int fdcwd; pid_t pid; pid_t rpid; int fd[2]; @@ -90,8 +92,11 @@ int slbt_archive_import( char mrisrc [L_tmpnam]; char program[PATH_MAX]; + /* fdcwd */ + fdcwd = slbt_driver_fdcwd(dctx); + /* not needed? */ - if (slbt_symlink_is_a_placeholder(srcarchive)) + if (slbt_symlink_is_a_placeholder(fdcwd,srcarchive)) return 0; /* program */ diff --git a/src/helper/slbt_copy_file.c b/src/helper/slbt_copy_file.c index e9abee5..7e549d9 100644 --- a/src/helper/slbt_copy_file.c +++ b/src/helper/slbt_copy_file.c @@ -6,6 +6,7 @@ /*******************************************************************/ #include <slibtool/slibtool.h> +#include "slibtool_driver_impl.h" #include "slibtool_spawn_impl.h" #include "slibtool_symlink_impl.h" #include "slibtool_errinfo_impl.h" @@ -16,13 +17,17 @@ int slbt_copy_file( char * src, char * dst) { + int fdcwd; char ** oargv; char * oprogram; char * cp[4]; int ret; + /* fdcwd */ + fdcwd = slbt_driver_fdcwd(dctx); + /* placeholder? */ - if (slbt_symlink_is_a_placeholder(src)) + if (slbt_symlink_is_a_placeholder(fdcwd,src)) return 0; /* cp argv */ diff --git a/src/helper/slbt_realpath.c b/src/helper/slbt_realpath.c index 4c7446e..bae41ec 100644 --- a/src/helper/slbt_realpath.c +++ b/src/helper/slbt_realpath.c @@ -12,6 +12,7 @@ #include <sys/stat.h> #include <slibtool/slibtool.h> +#include "slibtool_driver_impl.h" #include "slibtool_readlink_impl.h" #ifdef _MIDIPIX_ABI @@ -64,7 +65,7 @@ int slbt_realpath( sprintf(procfspath,"/proc/self/fd/%d",fd); - if (slbt_readlink(procfspath,buf,buflen)) { + if (slbt_readlinkat(fdat,procfspath,buf,buflen)) { close(fd); return -1; } |