summaryrefslogtreecommitdiff
path: root/src/internal/slibtool_symlink_impl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/slibtool_symlink_impl.c')
-rw-r--r--src/internal/slibtool_symlink_impl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/internal/slibtool_symlink_impl.c b/src/internal/slibtool_symlink_impl.c
index 0b1daa0..bb67623 100644
--- a/src/internal/slibtool_symlink_impl.c
+++ b/src/internal/slibtool_symlink_impl.c
@@ -28,6 +28,7 @@ int slbt_create_symlink(
int fdcwd;
int fliteral;
int fwrapper;
+ int fdevnull;
char ** oargv;
const char * slash;
char * ln[5];
@@ -41,9 +42,13 @@ int slbt_create_symlink(
/* options */
fliteral = (options & SLBT_SYMLINK_LITERAL);
fwrapper = (options & SLBT_SYMLINK_WRAPPER);
+ fdevnull = (options & SLBT_SYMLINK_DEVNULL);
/* symlink is a placeholder? */
- if ((dctx->cctx->drvflags & SLBT_DEV_NULL_FLAGS)
+ if (fliteral && fdevnull) {
+ slash = target;
+
+ } else if ((dctx->cctx->drvflags & SLBT_DEV_NULL_FLAGS)
&& !strcmp(target,"/dev/null")) {
slash = target;
suffix = ".disabled";