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