From: Gerd von Egidy Date: Wed, 16 Dec 2015 22:59:32 +0000 (+0100) Subject: fix symlink-dir-bug by switching from stat() to our Stat-class and using it's follow_... X-Git-Tag: v2.8~10 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=9bee14ce95a8130aec3867958acf237055469601;p=libi2ncommon fix symlink-dir-bug by switching from stat() to our Stat-class and using it's follow_links=false --- diff --git a/src/filefunc.cpp b/src/filefunc.cpp index c71b27d..a19d760 100644 --- a/src/filefunc.cpp +++ b/src/filefunc.cpp @@ -749,11 +749,11 @@ bool recursive_delete(const std::string &path, try { - struct stat my_stat; - if (stat(path.c_str(), &my_stat) != 0) + Stat sp(path, false); + if (!sp) throw runtime_error("can't stat " + path); - if (S_ISDIR(my_stat.st_mode)) + if (sp.is_directory()) { DIR *dir = opendir(path.c_str()); if (!dir)