X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffs%2Futils.h;h=a52e37d8ed6f3321c748d5df793ce58c77b700e3;hp=6a4c55add16f7ec305d40341d7f65fe48d65710b;hb=e4584bf621f6ef457a944c7604888b4132ad1706;hpb=af94bc926e301e9b871dc18662b4fa6e5614fdbf diff --git a/source/fs/utils.h b/source/fs/utils.h index 6a4c55a..a52e37d 100644 --- a/source/fs/utils.h +++ b/source/fs/utils.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspfs -Copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_FS_UTILS_H_ #define MSP_FS_UTILS_H_ @@ -19,22 +12,15 @@ std::string basename(const Path &); /// Removes the last component from the path. Path dirname(const Path &); -/** -Returns the base part of a filename. This includes everything up to the last -dot, but not the dot itself. -*/ +/** Returns the base part of a filename. This includes everything up to the +last dot, but not the dot itself. */ std::string basepart(const std::string &); -/** -Returns the extension part of a filename. This includes the last dot and -everything after it. -*/ +/** Returns the extension part of a filename. This includes the last dot and +everything after it. */ std::string extpart(const std::string &); -/** -Fixes the case of the given path to match files / directories on the -filesystem. -*/ +/// Fixes the case of a path to match files / directories on the filesystem. Path fix_case(const Path &path); /// Reads the contents of a symbolic link @@ -52,6 +38,9 @@ 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); +/// Returns the longest prefix shared by both paths. +Path common_ancestor(const Path &, const Path &); + /** Determines how many levels a path is below another. Returns -1 if path is not a descendant of parent. */ int descendant_depth(const Path &path, const Path &parent);