<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># This patch is fetched from the upstream and dedicated to making compiling with clang-19 possible
# Bug related https://bugs.gentoo.org/945375
# The patch is added by Denis Pronin &lt;dannftk@yandex.ru&gt;

From 72c5ad98d858fa4fc0183a5ec1a61bb48ef5bd95 Mon Sep 17 00:00:00 2001
From: Kjell Ahlstedt &lt;kjellahlstedt@gmail.com&gt;
Date: Fri, 22 Mar 2024 10:32:45 +0100
Subject: [PATCH] Gio::content_type_guess(): Remove most of an unneccesary
 overload

clang 19.0.0 does not like the overload that takes a
const std::basic_string&lt;guchar&gt;&amp;. This overload should have been removed
16 years ago by commit 84135b93a20e6c9fe652849959d3ff90474c99bb.
It can't be removed completely now, because that would break ABI.
Remove as much as possible.
Fixes #118
---
 gio/giomm/contenttype.cc | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gio/giomm/contenttype.cc b/gio/giomm/contenttype.cc
index abe67337..8eb1bd71 100644
--- a/gio/giomm/contenttype.cc
+++ b/gio/giomm/contenttype.cc
@@ -84,15 +84,18 @@ content_type_from_mime_type(const Glib::ustring&amp; mime_type)
     g_content_type_from_mime_type(mime_type.c_str()));
 }
 
+//TODO: When we can break ABI, remove this content_type_guess() overload.
+// Commit https://gitlab.gnome.org/GNOME/glibmm/-/commit/84135b93a20e6c9fe652849959d3ff90474c99bb
+// removed it from contenttype.h, but not from contenttype.cc.
+// For the time being, it's replaced by a function that does almost nothing.
+// clang 19.0.0 does not like a complete version.
+// See issue https://gitlab.gnome.org/GNOME/glibmm/-/issues/118
 Glib::ustring
 content_type_guess(
-  const std::string&amp; filename, const std::basic_string&lt;guchar&gt;&amp; data, bool&amp; result_uncertain)
+  const std::string&amp; /*filename*/, const std::basic_string&lt;guchar&gt;&amp; /*data*/, bool&amp; result_uncertain)
 {
-  gboolean c_result_uncertain = FALSE;
-  const gchar* c_filename = filename.empty() ? nullptr : filename.c_str();
-  gchar* cresult = g_content_type_guess(c_filename, data.c_str(), data.size(), &amp;c_result_uncertain);
-  result_uncertain = c_result_uncertain;
-  return Glib::convert_return_gchar_ptr_to_ustring(cresult);
+  result_uncertain = true;
+  return Glib::ustring();
 }
 
 Glib::ustring
-- 
2.45.2

</pre></body></html>