libutil: add makeTempSiblingPath helper
The prospective callers of this should probably be doing something smarter or more abstracted to begin with, but this is useful as an incremental improvement for call sites with existing `makeTempPath` logic in the face of filename length limits. Change-Id: I6a6a69644292f5bbf984a1df90192e06c6022b53
This commit is contained in:
@@ -706,6 +706,11 @@ Path makeTempPath(const Path & root, const Path & suffix)
|
||||
return fmt("%1%%2%-%3%-%4%", root, suffix, getpid(), counter.fetch_add(1, std::memory_order_relaxed));
|
||||
}
|
||||
|
||||
Path makeTempSiblingPath(const Path & path)
|
||||
{
|
||||
return makeTempPath(fs::path(path).remove_filename());
|
||||
}
|
||||
|
||||
void createSymlink(const Path & target, const Path & link)
|
||||
{
|
||||
if (sys::symlink(target, link)) {
|
||||
|
||||
@@ -318,6 +318,11 @@ Path createTempSubdir(const Path & parent, const Path & prefix = "nix",
|
||||
*/
|
||||
Path makeTempPath(const Path & root, const Path & suffix = ".tmp");
|
||||
|
||||
/**
|
||||
* Return temporary path in the same directory as a given path.
|
||||
*/
|
||||
Path makeTempSiblingPath(const Path & path);
|
||||
|
||||
/**
|
||||
* Used in various places.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user