From 2ef84a14345f6237e308b6636b94aa1988a73ee2 Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Mon, 13 Jul 2020 19:42:24 +0200 Subject: [PATCH] Make is_precompiled_header handle the empty string Related to PR #624. --- src/ccache.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/ccache.cpp b/src/ccache.cpp index f7794fc99..d7c15e532 100644 --- a/src/ccache.cpp +++ b/src/ccache.cpp @@ -1761,14 +1761,10 @@ find_compiler(Context& ctx, const char* const* argv) bool is_precompiled_header(const char* path) { - const char* ext = get_extension(path); - char* dir = x_dirname(path); - const char* dir_ext = get_extension(dir); - bool result = - str_eq(ext, ".gch") || str_eq(ext, ".pch") || str_eq(ext, ".pth") - || str_eq(dir_ext, ".gch"); // See "Precompiled Headers" in GCC docs. - free(dir); - return result; + // See "Precompiled Headers" in GCC docs. + string_view ext = Util::get_extension(path); + return ext == ".gch" || ext == ".pch" || ext == ".pth" + || Util::get_extension(Util::dir_name(path)) == ".gch"; } static void -- 2.47.2