From 6abe8fae09245c1ef518a8df2e28de07be2d51cc Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 15 Oct 2006 09:18:26 +0000 Subject: [PATCH] fix recursive rm to delete broken symlinks SVN revision: 26609 --- legacy/ecore/src/lib/ecore_file/ecore_file.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_file/ecore_file.c b/legacy/ecore/src/lib/ecore_file/ecore_file.c index 1735ae3..3188776 100644 --- a/legacy/ecore/src/lib/ecore_file/ecore_file.c +++ b/legacy/ecore/src/lib/ecore_file/ecore_file.c @@ -112,16 +112,14 @@ ecore_file_recursive_rm(const char *dir) struct stat st; - if (stat(dir, &st) == -1) return 0; - if (readlink(dir, buf, sizeof(buf)) > 0) { ecore_file_unlink(dir); } else if (S_ISDIR(st.st_mode)) { + if (stat(dir, &st) == -1) return 0; dirp = opendir(dir); - if (dirp) { while ((dp = readdir(dirp))) @@ -138,6 +136,7 @@ ecore_file_recursive_rm(const char *dir) } else { + if (stat(dir, &st) == -1) return 0; ecore_file_unlink(dir); } -- 2.7.4