fix symlink-dir-bug by switching from stat() to our Stat-class and using it's follow_...
authorGerd von Egidy <gerd.von.egidy@intra2net.com>
Wed, 16 Dec 2015 22:59:32 +0000 (23:59 +0100)
committerGerd von Egidy <gerd.von.egidy@intra2net.com>
Wed, 16 Dec 2015 22:59:32 +0000 (23:59 +0100)
src/filefunc.cpp

index c71b27d..a19d760 100644 (file)
@@ -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)