diff options
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/util.cc | 8 | ||||
-rw-r--r-- | src/libutil/util.hh | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 428b1ff9a755..ed095717e262 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -318,19 +318,19 @@ void makePathReadOnly(const Path & path) } -static Path tempName(const Path & tmpRoot) +static Path tempName(const Path & tmpRoot, const Path & prefix) { static int counter = 0; Path tmpRoot2 = canonPath(tmpRoot.empty() ? getEnv("TMPDIR", "/tmp") : tmpRoot, true); - return (format("%1%/nix-%2%-%3%") % tmpRoot2 % getpid() % counter++).str(); + return (format("%1%/%2%-%3%-%4%") % tmpRoot2 % prefix % getpid() % counter++).str(); } -Path createTempDir(const Path & tmpRoot) +Path createTempDir(const Path & tmpRoot, const Path & prefix) { while (1) { checkInterrupt(); - Path tmpDir = tempName(tmpRoot); + Path tmpDir = tempName(tmpRoot, prefix); if (mkdir(tmpDir.c_str(), 0777) == 0) { /* Explicitly set the group of the directory. This is to work around around problems caused by BSD's group diff --git a/src/libutil/util.hh b/src/libutil/util.hh index 0ed98118c53b..657f45ced6e8 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -70,7 +70,7 @@ void deletePath(const Path & path, unsigned long long & bytesFreed); void makePathReadOnly(const Path & path); /* Create a temporary directory. */ -Path createTempDir(const Path & tmpRoot = ""); +Path createTempDir(const Path & tmpRoot = "", const Path & prefix = "nix"); /* Create a directory and all its parents, if necessary. Returns the list of created directories, in order of creation. */ |