From: Joel Rosdahl Date: Thu, 9 Apr 2026 07:28:23 +0000 (+0200) Subject: fix: Handle directory-less path to /FI X-Git-Tag: v4.13.3~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88ad0be09107ccce013f566e642c1cd698073c0d;p=thirdparty%2Fccache.git fix: Handle directory-less path to /FI (cherry picked from commit ca531e3693399f028199cc5688a23bcfb89b93ad) --- diff --git a/src/ccache/argprocessing.cpp b/src/ccache/argprocessing.cpp index fbb4a8b1..5fc70ecd 100644 --- a/src/ccache/argprocessing.cpp +++ b/src/ccache/argprocessing.cpp @@ -1558,14 +1558,14 @@ process_args(Context& ctx) // Special case: rewrite /FI arguments relative to the input file. if (state.rewrite_FI_args) { - auto r = fs::canonical(args_info.input_file.parent_path()); + auto r = fs::canonical(args_info.input_file); if (!r) { LOG("Failed to convert {} to absolute: {}", - args_info.input_file.parent_path(), + args_info.input_file, r.error()); return tl::unexpected(Statistic::internal_error); } - const auto& abs_input_file_dir = *r; + auto abs_input_file_dir = r->parent_path(); auto rewrite = [&](util::Args& arglist, size_t& i) { if (arglist[i].starts_with("/FI") || arglist[i].starts_with("-FI")) { if (arglist[i].length() > 3) {