Use new lsdir() for looking up buildid caches. This changes
logic a bit to ignore all dot files, since the build-id
cache must not start with dot.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
---
 tools/perf/util/build-id.c |   30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index 8c40133..02a5e0d 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -342,38 +342,18 @@ int build_id_cache__list_build_ids(const char *pathname,
 {
        struct strlist *list;
        char *dir_name;
-       DIR *dir;
-       struct dirent *d;
        int ret = 0;
 
-       list = strlist__new(true, NULL);
        dir_name = build_id_cache__dirname_from_path(pathname, false, false,
                                                     NULL);
-       if (!list || !dir_name) {
-               ret = -ENOMEM;
-               goto out;
-       }
+       if (!dir_name)
+               return -ENOMEM;
 
-       /* List up all dirents */
-       dir = opendir(dir_name);
-       if (!dir) {
+       list = lsdir(dir_name, lsdir_no_dot_filter);
+       if (!list)
                ret = -errno;
-               goto out;
-       }
-
-       while ((d = readdir(dir)) != NULL) {
-               if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
-                       continue;
-               strlist__add(list, d->d_name);
-       }
-       closedir(dir);
-
-out:
+       *result = list;
        free(dir_name);
-       if (ret)
-               strlist__delete(list);
-       else
-               *result = list;
 
        return ret;
 }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to