guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

104/118: createDirs(): Handle ‘path’ being a symlink


From: Ludovic Courtès
Subject: 104/118: createDirs(): Handle ‘path’ being a symlink
Date: Tue, 19 May 2015 14:46:00 +0000

civodul pushed a commit to branch nix
in repository guix.

commit c95742283595cb01b44ddc8e6ff5e9c1d66db444
Author: Eelco Dolstra <address@hidden>
Date:   Fri Oct 3 16:53:28 2014 +0200

    createDirs(): Handle ‘path’ being a symlink
    
    In particular, this fixes "nix-build -o /tmp/result" on Mac OS X
    (where /tmp is a symlink).
---
 nix/libutil/util.cc |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index 54b9eb8..9af42a1 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -379,6 +379,9 @@ Paths createDirs(const Path & path)
         created.push_back(path);
     }
 
+    if (S_ISLNK(st.st_mode) && stat(path.c_str(), &st) == -1)
+        throw SysError(format("statting symlink `%1%'") % path);
+
     if (!S_ISDIR(st.st_mode)) throw Error(format("`%1%' is not a directory") % 
path);
 
     return created;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]