Remove dead code (#8504)

`filesystem.cc` is the only place where `createSymlink()` is used with three arguments:
in the definition of `replaceSymlink()` with three parameters that _is not used at all_.

Closes #8495
This commit is contained in:
Daniel Asaturov 2023-06-14 22:09:11 +04:00 committed by GitHub
parent 63dc8fbbd6
commit 468add5aa0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 18 deletions

View file

@ -63,30 +63,19 @@ std::pair<AutoCloseFD, Path> createTempFile(const Path & prefix)
return {std::move(fd), tmpl}; return {std::move(fd), tmpl};
} }
void createSymlink(const Path & target, const Path & link, void createSymlink(const Path & target, const Path & link)
std::optional<time_t> mtime)
{ {
if (symlink(target.c_str(), link.c_str())) if (symlink(target.c_str(), link.c_str()))
throw SysError("creating symlink from '%1%' to '%2%'", link, target); throw SysError("creating symlink from '%1%' to '%2%'", link, target);
if (mtime) {
struct timeval times[2];
times[0].tv_sec = *mtime;
times[0].tv_usec = 0;
times[1].tv_sec = *mtime;
times[1].tv_usec = 0;
if (lutimes(link.c_str(), times))
throw SysError("setting time of symlink '%s'", link);
}
} }
void replaceSymlink(const Path & target, const Path & link, void replaceSymlink(const Path & target, const Path & link)
std::optional<time_t> mtime)
{ {
for (unsigned int n = 0; true; n++) { for (unsigned int n = 0; true; n++) {
Path tmp = canonPath(fmt("%s/.%d_%s", dirOf(link), n, baseNameOf(link))); Path tmp = canonPath(fmt("%s/.%d_%s", dirOf(link), n, baseNameOf(link)));
try { try {
createSymlink(target, tmp, mtime); createSymlink(target, tmp);
} catch (SysError & e) { } catch (SysError & e) {
if (e.errNo == EEXIST) continue; if (e.errNo == EEXIST) continue;
throw; throw;

View file

@ -256,14 +256,12 @@ inline Paths createDirs(PathView path)
/** /**
* Create a symlink. * Create a symlink.
*/ */
void createSymlink(const Path & target, const Path & link, void createSymlink(const Path & target, const Path & link);
std::optional<time_t> mtime = {});
/** /**
* Atomically create or replace a symlink. * Atomically create or replace a symlink.
*/ */
void replaceSymlink(const Path & target, const Path & link, void replaceSymlink(const Path & target, const Path & link);
std::optional<time_t> mtime = {});
void renameFile(const Path & src, const Path & dst); void renameFile(const Path & src, const Path & dst);