fix symlink-dir-bug by switching from stat() to our Stat-class and using it's follow_...
[libi2ncommon] / 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)