Re: [05/11] windowscodecs: Add support for more types of IFD fields. Resend.
Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
@@ -650,30 +672,43 @@ static HRESULT load_IFD_entry(IStream *input, const struct IFD_entry *entry, SWAP_ULONG(count); type = entry->type; SWAP_USHORT(type); + item->value.vt = tag_to_vt(type); value = entry->value; SWAP_ULONG(value);
switch (type) { + case IFD_BYTE: + case IFD_SBYTE: + if (count == 1) + { + item->value.u.bVal = *(BYTE *)&value; + break; + } + FIXME("loading multiple byte fields is not implemented\n"); + break;
This seems to contradict the endianness support. Are you really supposed to byte-swap arrays of bytes? -- Alexandre Julliard julliard(a)winehq.org
Alexandre Julliard <julliard(a)winehq.org> wrote:
+ case IFD_BYTE: + case IFD_SBYTE: + if (count == 1) + { + item->value.u.bVal = *(BYTE *)&value; + break; + } + FIXME("loading multiple byte fields is not implemented\n"); + break;
This seems to contradict the endianness support. Are you really supposed to byte-swap arrays of bytes?
It doesn't matter at this point. I'm planning to add a test for endianness handling in IFD reader, if this is proved to be wrong the fix will be trivial. Please consider accepting the patch as is. -- Dmitry.
participants (2)
-
Alexandre Julliard -
Dmitry Timoshkov