X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffs%2Futils.cpp;h=ed1ca0ab27c3e3c14070b88822e50cc742ca067c;hp=2bfd1bf3ff4c63d9152084fe1ffdc0b802223aa5;hb=c4bebb877ec98d518bf02152ca81930e18eda6a7;hpb=b54e273fec47af51792955143e84417b638ad2b7 diff --git a/source/fs/utils.cpp b/source/fs/utils.cpp index 2bfd1bf..ed1ca0a 100644 --- a/source/fs/utils.cpp +++ b/source/fs/utils.cpp @@ -71,6 +71,9 @@ Path fix_case(const Path &path) Path relative(const Path &path, const Path &base) { + if(path.is_absolute()!=base.is_absolute()) + throw invalid_argument("FS::relative"); + Path::Iterator i = path.begin(); Path::Iterator j = base.begin(); for(; (i!=path.end() && j!=base.end() && *i==*j); ++i, ++j) ; @@ -96,6 +99,9 @@ Path common_ancestor(const Path &path1, const Path &path2) int descendant_depth(const Path &path, const Path &parent) { + if(path.is_absolute()!=parent.is_absolute()) + throw invalid_argument("FS::descendant_depth"); + Path::Iterator i = path.begin(); Path::Iterator j = parent.begin(); for(; (i!=path.end() && j!=parent.end() && *i==*j); ++i, ++j) ;