Alex Henrie : winemenubuilder: Return pointer from freedesktop_mime_type_for_extension.

Alexandre Julliard julliard at winehq.org
Mon Oct 11 15:41:36 CDT 2021


Module: wine
Branch: master
Commit: 38eb26f047178b619c99ffcf546d3f196e519fe9
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=38eb26f047178b619c99ffcf546d3f196e519fe9

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Sun Oct  3 23:51:22 2021 -0600

winemenubuilder: Return pointer from freedesktop_mime_type_for_extension.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/winemenubuilder/winemenubuilder.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index e02d7bd787f..51d83aed971 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -1874,29 +1874,26 @@ static BOOL build_native_mime_types(struct list *mime_types)
     return ret;
 }
 
-static BOOL freedesktop_mime_type_for_extension(struct list *native_mime_types,
-                                                LPCWSTR extensionW,
-                                                WCHAR **match)
+static WCHAR *freedesktop_mime_type_for_extension(struct list *native_mime_types,
+                                                  const WCHAR *extensionW)
 {
     struct xdg_mime_type *mime_type_entry;
     int matchLength = 0;
-
-    *match = NULL;
+    const WCHAR* match = NULL;
 
     LIST_FOR_EACH_ENTRY(mime_type_entry, native_mime_types, struct xdg_mime_type, entry)
     {
         if (PathMatchSpecW( extensionW, mime_type_entry->glob ))
         {
-            if (*match == NULL || matchLength < lstrlenW(mime_type_entry->glob))
+            if (match == NULL || matchLength < lstrlenW(mime_type_entry->glob))
             {
-                *match = mime_type_entry->mimeType;
+                match = mime_type_entry->mimeType;
                 matchLength = lstrlenW(mime_type_entry->glob);
             }
         }
     }
 
-    if (*match != NULL) *match = xwcsdup(*match);
-    return TRUE;
+    return match ? xwcsdup(match) : NULL;
 }
 
 static WCHAR* reg_get_valW(HKEY key, LPCWSTR subkey, LPCWSTR name)
@@ -2190,8 +2187,7 @@ static BOOL generate_associations(const WCHAR *packages_dir, const WCHAR *applic
             if (contentTypeW)
                 wcslwr(contentTypeW);
 
-            if (!freedesktop_mime_type_for_extension(&nativeMimeTypes, extensionW, &mimeType))
-                goto end;
+            mimeType = freedesktop_mime_type_for_extension(&nativeMimeTypes, extensionW);
 
             if (mimeType == NULL)
             {




More information about the wine-cvs mailing list