summaryrefslogtreecommitdiff
path: root/src/helper
diff options
context:
space:
mode:
Diffstat (limited to 'src/helper')
-rw-r--r--src/helper/slbt_archive_import.c7
-rw-r--r--src/helper/slbt_copy_file.c7
-rw-r--r--src/helper/slbt_realpath.c3
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;
}