diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/slibtool_symlink_impl.c | 7 | ||||
-rw-r--r-- | src/internal/slibtool_symlink_impl.h | 1 |
2 files changed, 7 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"; diff --git a/src/internal/slibtool_symlink_impl.h b/src/internal/slibtool_symlink_impl.h index 5619e75..fc4c708 100644 --- a/src/internal/slibtool_symlink_impl.h +++ b/src/internal/slibtool_symlink_impl.h @@ -7,6 +7,7 @@ #define SLBT_SYMLINK_DEFAULT 0x0000 #define SLBT_SYMLINK_LITERAL 0x0001 #define SLBT_SYMLINK_WRAPPER 0x0002 +#define SLBT_SYMLINK_DEVNULL 0x0004 int slbt_create_symlink( const struct slbt_driver_ctx * dctx, |