*/
#include <cerrno>
+#include <cstdio>
#include <msp/core/except.h>
#ifndef WIN32
#include <fnmatch.h>
#endif
}
+void rename(const Path &from, const Path &to)
+{
+ if(::rename(from.str().c_str(), to.str().c_str())==-1)
+ throw SystemError("rename failed", errno);
+}
+
void unlink(const Path &path)
{
if(::unlink(path.str().c_str())==-1)
/// Removes a file
void unlink(const Path &path);
+/// Renames a file. Existing file, if any, is overwritten.
+void rename(const Path &from, const Path &to);
+
/// Makes a path relative to some base path. That is, base/result==path.
Path relative(const Path &path, const Path &base);