mirror of https://github.com/dsoprea/go-exif.git
undefined/accessor.go: Drop unnecessary parameters from Decode()
parent
6554f89879
commit
e7e1e89ffb
|
@ -94,7 +94,7 @@ func TestVisit(t *testing.T) {
|
||||||
|
|
||||||
valueString := ""
|
valueString := ""
|
||||||
if tagType == exifcommon.TypeUndefined {
|
if tagType == exifcommon.TypeUndefined {
|
||||||
value, err := exifundefined.Decode(fqIfdPath, tagId, valueContext, valueContext.ByteOrder())
|
value, err := exifundefined.Decode(valueContext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
||||||
valueString = "!UNDEFINED!"
|
valueString = "!UNDEFINED!"
|
||||||
|
|
|
@ -1122,7 +1122,7 @@ func (ib *IfdBuilder) AddTagsFromExisting(ifd *Ifd, includeTagIds []uint16, excl
|
||||||
// cleanest way of using what we already have to both determine
|
// cleanest way of using what we already have to both determine
|
||||||
// if we support this tag and producing the bytes for it.
|
// if we support this tag and producing the bytes for it.
|
||||||
|
|
||||||
value, err := exifundefined.Decode(ite.IfdPath, ite.TagId, valueContext, ib.byteOrder)
|
value, err := exifundefined.Decode(valueContext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
||||||
// It's an undefined-type tag that we don't handle. If
|
// It's an undefined-type tag that we don't handle. If
|
||||||
|
|
|
@ -1499,11 +1499,7 @@ func TestIfdBuilder_CreateIfdBuilderFromExistingChain_RealData(t *testing.T) {
|
||||||
originalIndex.RootIfd.addressableData,
|
originalIndex.RootIfd.addressableData,
|
||||||
originalIndex.RootIfd.ByteOrder)
|
originalIndex.RootIfd.ByteOrder)
|
||||||
|
|
||||||
value, err := exifundefined.Decode(
|
value, err := exifundefined.Decode(valueContext)
|
||||||
originalIte.IfdPath,
|
|
||||||
originalIte.TagId,
|
|
||||||
valueContext,
|
|
||||||
originalIndex.RootIfd.ByteOrder)
|
|
||||||
|
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
|
|
||||||
|
@ -1527,11 +1523,7 @@ func TestIfdBuilder_CreateIfdBuilderFromExistingChain_RealData(t *testing.T) {
|
||||||
recoveredIndex.RootIfd.addressableData,
|
recoveredIndex.RootIfd.addressableData,
|
||||||
recoveredIndex.RootIfd.ByteOrder)
|
recoveredIndex.RootIfd.ByteOrder)
|
||||||
|
|
||||||
value, err := exifundefined.Decode(
|
value, err := exifundefined.Decode(valueContext)
|
||||||
recoveredIte.IfdPath,
|
|
||||||
recoveredIte.TagId,
|
|
||||||
valueContext,
|
|
||||||
recoveredIndex.RootIfd.ByteOrder)
|
|
||||||
|
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ func (ie *IfdEnumerate) parseTag(fqIfdPath string, tagPosition int, enumerator *
|
||||||
valueContext := ie.GetValueContext(ite)
|
valueContext := ie.GetValueContext(ite)
|
||||||
|
|
||||||
if ite.TagType == exifcommon.TypeUndefined {
|
if ite.TagType == exifcommon.TypeUndefined {
|
||||||
value, err := exifundefined.Decode(ite.IfdPath, ite.TagId, valueContext, ie.byteOrder)
|
value, err := exifundefined.Decode(valueContext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
if err == exifcommon.ErrUnhandledUnknownTypedTag {
|
||||||
ite.isUnhandledUnknown = true
|
ite.isUnhandledUnknown = true
|
||||||
|
|
|
@ -78,7 +78,7 @@ func (ite *IfdTagEntry) ValueString(addressableData []byte, byteOrder binary.Byt
|
||||||
if ite.TagType == exifcommon.TypeUndefined {
|
if ite.TagType == exifcommon.TypeUndefined {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
value, err := exifundefined.Decode(ite.IfdPath, ite.TagId, valueContext, byteOrder)
|
value, err := exifundefined.Decode(valueContext)
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
|
|
||||||
s := value.(fmt.Stringer)
|
s := value.(fmt.Stringer)
|
||||||
|
@ -114,7 +114,7 @@ func (ite *IfdTagEntry) ValueBytes(addressableData []byte, byteOrder binary.Byte
|
||||||
// (obviously). However, here, in order to produce the list of bytes, we
|
// (obviously). However, here, in order to produce the list of bytes, we
|
||||||
// need to coerce whatever `Undefined()` returns.
|
// need to coerce whatever `Undefined()` returns.
|
||||||
if ite.TagType == exifcommon.TypeUndefined {
|
if ite.TagType == exifcommon.TypeUndefined {
|
||||||
value, err := exifundefined.Decode(ite.IfdPath, ite.TagId, valueContext, byteOrder)
|
value, err := exifundefined.Decode(valueContext)
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
|
|
||||||
ve := exifcommon.NewValueEncoder(byteOrder)
|
ve := exifcommon.NewValueEncoder(byteOrder)
|
||||||
|
@ -148,7 +148,7 @@ func (ite *IfdTagEntry) Value(addressableData []byte, byteOrder binary.ByteOrder
|
||||||
if ite.TagType == exifcommon.TypeUndefined {
|
if ite.TagType == exifcommon.TypeUndefined {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
value, err = exifundefined.Decode(ite.IfdPath, ite.TagId, valueContext, byteOrder)
|
value, err = exifundefined.Decode(valueContext)
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
} else {
|
} else {
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -29,7 +29,7 @@ func Encode(value EncodeableValue, byteOrder binary.ByteOrder) (encoded []byte,
|
||||||
}
|
}
|
||||||
|
|
||||||
// UndefinedValue knows how to resolve the value for most unknown-type tags.
|
// UndefinedValue knows how to resolve the value for most unknown-type tags.
|
||||||
func Decode(ifdPath string, tagId uint16, valueContext *exifcommon.ValueContext, byteOrder binary.ByteOrder) (value EncodeableValue, err error) {
|
func Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if state := recover(); state != nil {
|
if state := recover(); state != nil {
|
||||||
err = log.Wrap(state.(error))
|
err = log.Wrap(state.(error))
|
||||||
|
@ -37,8 +37,8 @@ func Decode(ifdPath string, tagId uint16, valueContext *exifcommon.ValueContext,
|
||||||
}()
|
}()
|
||||||
|
|
||||||
uth := UndefinedTagHandle{
|
uth := UndefinedTagHandle{
|
||||||
IfdPath: ifdPath,
|
IfdPath: valueContext.IfdPath(),
|
||||||
TagId: tagId,
|
TagId: valueContext.TagId(),
|
||||||
}
|
}
|
||||||
|
|
||||||
decoder, found := decoders[uth]
|
decoder, found := decoders[uth]
|
||||||
|
@ -48,10 +48,6 @@ func Decode(ifdPath string, tagId uint16, valueContext *exifcommon.ValueContext,
|
||||||
return nil, exifcommon.ErrUnhandledUnknownTypedTag
|
return nil, exifcommon.ErrUnhandledUnknownTypedTag
|
||||||
}
|
}
|
||||||
|
|
||||||
if valueContext.IfdPath() != ifdPath || valueContext.TagId() != tagId {
|
|
||||||
log.Panicf("IFD-path for codec does not match value-context: [%s] (0x%04x) != [%s] (0x%04x)", ifdPath, tagId, valueContext.IfdPath(), valueContext.TagId())
|
|
||||||
}
|
|
||||||
|
|
||||||
value, err = decoder.Decode(valueContext)
|
value, err = decoder.Decode(valueContext)
|
||||||
log.PanicIf(err)
|
log.PanicIf(err)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue