Let rm_rf remove file if it's provided by path.

Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Jiri Olsa <[email protected]>
---
 tools/perf/util/util.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index 320b0fef249a..58b8d6a8bfbc 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -125,8 +125,14 @@ int rm_rf(const char *path)
        char namebuf[PATH_MAX];
 
        dir = opendir(path);
-       if (dir == NULL)
-               return 0;
+       if (dir == NULL) {
+               /*
+                * The path does not exist or is not directory,
+                * so there's no harm to try remove it. This way
+                * rm_rf will work over single file.
+                */
+               return unlink(path);
+       }
 
        while ((d = readdir(dir)) != NULL && !ret) {
                struct stat statbuf;
-- 
2.17.2

Reply via email to