]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Make is_precompiled_header handle the empty string
authorJoel Rosdahl <joel@rosdahl.net>
Mon, 13 Jul 2020 17:42:24 +0000 (19:42 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Mon, 13 Jul 2020 17:42:24 +0000 (19:42 +0200)
Related to PR #624.

src/ccache.cpp

index f7794fc995bfdc329713a5856309468b2a40b841..d7c15e53228fad0ed53a71b9a8906f5a4d637210 100644 (file)
@@ -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