X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Futils.cpp;h=31ab53be7b2ed210cf66dd9f2996972f0d33b25f;hp=af8ea8a37008eca04ce6d5e5403e53f09b1fdea3;hb=c8c033803937c2f89f6117c903465303d5ae8ea2;hpb=e48e54c5690d086c3f3ffb6f34f424f253bfb6b1 diff --git a/source/utils.cpp b/source/utils.cpp index af8ea8a..31ab53b 100644 --- a/source/utils.cpp +++ b/source/utils.cpp @@ -8,8 +8,10 @@ Distributed under the LGPL #include #ifndef WIN32 #include +#else +#include #endif -#include +#include #include "path.h" #include "utils.h" @@ -89,6 +91,7 @@ int mkpath(const Path &path, int mode) { #ifdef WIN32 // The win32 version of this function doesn't take the mode argument. Go figure. + (void)mode; err=mkdir(p.str().c_str()); #else err=mkdir(p.str().c_str(),mode); @@ -133,7 +136,8 @@ list list_files(const Path &path) while(dirent *de=readdir(dir)) { const char *fn=de->d_name; - if(fn[0]=='.' && (fn[1]==0 || (fn[1]=='.' && fn[2]==0))) continue; + if(fn[0]=='.' && (fn[1]==0 || (fn[1]=='.' && fn[2]==0))) + continue; result.push_back(fn); } closedir(dir); @@ -144,14 +148,14 @@ list list_files(const Path &path) bool exists(const Path &path) { struct stat st; - return !stat(path.str().c_str(),&st); + return !stat(path.str().c_str(), &st); } Filename splitext(const string &fn) { Filename result; unsigned dot=fn.rfind('.'); - result.base=fn.substr(0,dot); + result.base=fn.substr(0, dot); if(dot!=string::npos) result.ext=fn.substr(dot); return result; @@ -160,7 +164,7 @@ Filename splitext(const string &fn) int fnmatch(const string &pat, const Path &fn) { #ifdef WIN32 - return -1; + return globcasematch(pat, fn.str()); #else return ::fnmatch(pat.c_str(), fn.str().c_str(), FNM_PATHNAME); #endif @@ -185,7 +189,7 @@ Path relative(const Path &path, const Path &base) Extracts the basename from the given path. Same thing as Path::Path(p)[-1], but faster. */ -string basename(const std::string &p); +string basename(const std::string &p) { unsigned slash=p.rfind(DIRCHAR); if(slash==string::npos)