diff options
Diffstat (limited to 'tools/perf/util/dso.c')
-rw-r--r-- | tools/perf/util/dso.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index 7a7c54b42b41..f37548322c9d 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -178,19 +178,15 @@ bool is_kmodule_extension(const char *ext) bool is_kernel_module(const char *pathname, bool *compressed) { - const char *ext = strrchr(pathname, '.'); + struct kmod_path m; - if (ext == NULL) - return false; + if (kmod_path__parse(&m, pathname)) + return NULL; - if (is_supported_compression(ext + 1)) { - if (compressed) - *compressed = true; - ext -= 3; - } else if (compressed) - *compressed = false; + if (compressed) + *compressed = m.comp; - return is_kmodule_extension(ext + 1); + return m.kmod; } bool decompress_to_file(const char *ext, const char *filename, int output_fd) |