Alistair Leslie-Hughes : dmime: Support more common chunks.

Alexandre Julliard julliard at winehq.org
Thu May 7 17:56:54 CDT 2020


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Thu May  7 23:32:02 2020 +0200

dmime: Support more common chunks.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dmime/dmobject.c | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/dlls/dmime/dmobject.c b/dlls/dmime/dmobject.c
index 9ea31ab32a..1c9c1020ba 100644
--- a/dlls/dmime/dmobject.c
+++ b/dlls/dmime/dmobject.c
@@ -529,15 +529,30 @@ HRESULT dmobj_parsedescriptor(IStream *stream, const struct chunk_entry *riff,
 
     while ((hr = stream_next_chunk(stream, &chunk)) == S_OK) {
         switch (chunk.id) {
+            case DMUS_FOURCC_CATEGORY_CHUNK:
+                if ((supported & DMUS_OBJ_CATEGORY) && stream_chunk_get_wstr(stream, &chunk,
+                            desc->wszCategory, sizeof(desc->wszCategory)) == S_OK)
+                    desc->dwValidData |= DMUS_OBJ_CATEGORY;
+                break;
+            case DMUS_FOURCC_DATE_CHUNK:
+                if ((supported & DMUS_OBJ_DATE) && stream_chunk_get_data(stream, &chunk,
+                            &desc->ftDate, sizeof(desc->ftDate)) == S_OK)
+                    desc->dwValidData |= DMUS_OBJ_DATE;
+                break;
+            case DMUS_FOURCC_FILE_CHUNK:
+                if ((supported & DMUS_OBJ_FILENAME) && stream_chunk_get_wstr(stream, &chunk,
+                            desc->wszFileName, sizeof(desc->wszFileName)) == S_OK)
+                    desc->dwValidData |= DMUS_OBJ_FILENAME;
+                break;
             case DMUS_FOURCC_GUID_CHUNK:
                 if ((supported & DMUS_OBJ_OBJECT) && stream_chunk_get_data(stream, &chunk,
                             &desc->guidObject, sizeof(desc->guidObject)) == S_OK)
                     desc->dwValidData |= DMUS_OBJ_OBJECT;
                 break;
-            case DMUS_FOURCC_CATEGORY_CHUNK:
-                if ((supported & DMUS_OBJ_CATEGORY) && stream_chunk_get_wstr(stream, &chunk,
-                            desc->wszCategory, sizeof(desc->wszCategory)) == S_OK)
-                    desc->dwValidData |= DMUS_OBJ_CATEGORY;
+            case DMUS_FOURCC_NAME_CHUNK:
+                if ((supported & DMUS_OBJ_NAME) && stream_chunk_get_wstr(stream, &chunk,
+                            desc->wszName, sizeof(desc->wszName)) == S_OK)
+                    desc->dwValidData |= DMUS_OBJ_NAME;
                 break;
             case DMUS_FOURCC_VERSION_CHUNK:
                 if ((supported & DMUS_OBJ_VERSION) && stream_chunk_get_data(stream, &chunk,




More information about the wine-cvs mailing list