https://patch-diff.githubusercontent.com/raw/marvinkreis/rofi-file-browser-extended/pull/54.patch
From: Brahmajit Das <brahmajit.xyz@gmail.com>
Date: Tue, 30 Apr 2024 11:39:59 +0530
Subject: [PATCH 1/1] Fix building with GCC 14 on i686
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

GCC 14 (and above) have enabled certain compiler flags such as
Wincompatible-pointer-types that causes build time errors such as

rofi-file-browser-extended-1.3.1/src/icons.c:52:57: error: passing argument 2 of ‘g_array_steal’ from incompatible pointer type [-Wincompatible-pointer-types]
   52 |     char** icon_names_raw = g_array_steal ( icon_names, &num_icon_names );
      |                                                         ^~~~~~~~~~~~~~~
      |                                                         |
      |                                                         long unsigned int *
In file included from /usr/include/glib-2.0/glib.h:33,
                 from /usr/include/glib-2.0/gmodule.h:30,
                 from /var/tmp/portage/x11-misc/rofi-file-browser-extended-1.3.1-r1/work/rofi-file-browser-extended-1.3.1/src/icons.c:1:
/usr/include/glib-2.0/glib/garray.h:86:54: note: expected ‘gsize *’ {aka ‘unsigned int *’} but argument is of type ‘long unsigned int *’
   86 |                                    gsize            *len);
      |                                    ~~~~~~~~~~~~~~~~~~^~~

My patch attempts to fix this error and some other C99 related warnings.
First reported on Gentoo linux, please reffer
https://bugs.gentoo.org/928491 for more details

Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
--- a/src/files.c
+++ b/src/files.c
@@ -167,7 +167,7 @@ static bool match_glob_patterns ( const char *basename, FileBrowserFileData *fd
 {
     int len = strlen ( basename );
     for ( int i = 0; i < fd->num_exclude_patterns; i++ ) {
-        if ( g_pattern_match ( fd->exclude_patterns[i], len, basename, NULL ) ) {
+        if ( g_pattern_spec_match ( fd->exclude_patterns[i], len, basename, NULL ) ) {
             return false;
         }
     }
--- a/src/icons.c
+++ b/src/icons.c
@@ -48,7 +48,7 @@ void request_icons_for_file ( FBFile *fbfile, int icon_size, FileBrowserIconData
         }
     }
 
-    unsigned long num_icon_names;
+    gsize num_icon_names;
     char** icon_names_raw = g_array_steal ( icon_names, &num_icon_names );
 
     /* Create icon fetcher requests. */
-- 
2.45.0.rc1.218.g7b19149425.dirty

