From df45cc996deee953504eec5fbad68bb79d0aae25 Mon Sep 17 00:00:00 2001 From: deepend Date: Thu, 26 Feb 2026 13:15:49 -0700 Subject: [PATCH] Fix Windows theme imports with uppercase .TAR.GZ/etc (case-insensitive archive check) --- src/common/zoitechat.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/common/zoitechat.c b/src/common/zoitechat.c index 262e1edc..ccd5fe6a 100644 --- a/src/common/zoitechat.c +++ b/src/common/zoitechat.c @@ -474,20 +474,26 @@ typedef enum static ZoiteChatGtk3ArchiveType zoitechat_detect_gtk3_archive_type (const char *archive_path) { + char *archive_path_lower; + ZoiteChatGtk3ArchiveType type = ZOITECHAT_GTK3_ARCHIVE_UNKNOWN; + if (!archive_path) return ZOITECHAT_GTK3_ARCHIVE_UNKNOWN; - if (g_str_has_suffix (archive_path, ".zip") || g_str_has_suffix (archive_path, ".ZIP")) - return ZOITECHAT_GTK3_ARCHIVE_ZIP; + archive_path_lower = g_ascii_strdown (archive_path, -1); - if (g_str_has_suffix (archive_path, ".tar") - || g_str_has_suffix (archive_path, ".tar.gz") - || g_str_has_suffix (archive_path, ".tgz") - || g_str_has_suffix (archive_path, ".tar.xz") - || g_str_has_suffix (archive_path, ".txz")) - return ZOITECHAT_GTK3_ARCHIVE_TAR; + if (g_str_has_suffix (archive_path_lower, ".zip")) + type = ZOITECHAT_GTK3_ARCHIVE_ZIP; + else if (g_str_has_suffix (archive_path_lower, ".tar") + || g_str_has_suffix (archive_path_lower, ".tar.gz") + || g_str_has_suffix (archive_path_lower, ".tgz") + || g_str_has_suffix (archive_path_lower, ".tar.xz") + || g_str_has_suffix (archive_path_lower, ".txz")) + type = ZOITECHAT_GTK3_ARCHIVE_TAR; - return ZOITECHAT_GTK3_ARCHIVE_UNKNOWN; + g_free (archive_path_lower); + + return type; } #ifndef WIN32