From de5d28152c6a0045cef9742df24dac2cc6df203f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Stuchl=C3=ADk?= Date: Wed, 20 Aug 2025 12:41:08 +0200 Subject: [PATCH] Fix TagExifA301SceneType decoder - Decoding the value as long gives scene type value 16777216 instead of 1. --- v3/undefined/exif_A301_scene_type.go | 6 +++--- v3/undefined/exif_A301_scene_type_test.go | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/v3/undefined/exif_A301_scene_type.go b/v3/undefined/exif_A301_scene_type.go index a29fd76..46e9e1e 100644 --- a/v3/undefined/exif_A301_scene_type.go +++ b/v3/undefined/exif_A301_scene_type.go @@ -56,12 +56,12 @@ func (CodecExifA301SceneType) Decode(valueContext *exifcommon.ValueContext) (val } }() - valueContext.SetUndefinedValueType(exifcommon.TypeLong) + valueContext.SetUndefinedValueType(exifcommon.TypeByte) - valueLongs, err := valueContext.ReadLongs() + valueBytes, err := valueContext.ReadBytes() log.PanicIf(err) - return TagExifA301SceneType(valueLongs[0]), nil + return TagExifA301SceneType(valueBytes[0]), nil } func init() { diff --git a/v3/undefined/exif_A301_scene_type_test.go b/v3/undefined/exif_A301_scene_type_test.go index 925a580..213eaf7 100644 --- a/v3/undefined/exif_A301_scene_type_test.go +++ b/v3/undefined/exif_A301_scene_type_test.go @@ -39,9 +39,9 @@ func TestCodecExifA301SceneType_Encode(t *testing.T) { } func TestCodecExifA301SceneType_Decode(t *testing.T) { - expectedUt := TagExifA301SceneType(0x1234) + expectedUt := TagExifA301SceneType(0x01) - encoded := []byte{0, 0, 0x12, 0x34} + encoded := []byte{0x01} rawValueOffset := encoded