From 9163b6c404063b4d200ad4c3f85c47a1471c596a Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Fri, 10 Jan 2014 14:54:24 -0500 Subject: [PATCH] Move file end check to helper method --- id3.go | 12 +++--------- util.go | 8 +++++++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/id3.go b/id3.go index 9d7ea58..dc10513 100644 --- a/id3.go +++ b/id3.go @@ -73,16 +73,10 @@ func (f *File) Close() error { } case (*v2.Tag): if f.Size() > f.originalSize { - stat, err := f.file.Stat() - if err != nil { - return err - } + start := int64(f.originalSize + v2.HeaderSize) + offset := int64(f.Tagger.Size() - f.originalSize) - start := f.originalSize + v2.HeaderSize - end := stat.Size() - offset := f.Tagger.Size() - f.originalSize - - if err := shiftBytesBack(f.file, int64(start), end, int64(offset)); err != nil { + if err := shiftBytesBack(f.file, start, offset); err != nil { return err } } diff --git a/util.go b/util.go index d3ba20d..ae9ca2a 100644 --- a/util.go +++ b/util.go @@ -8,7 +8,13 @@ import ( "os" ) -func shiftBytesBack(file *os.File, start, end, offset int64) error { +func shiftBytesBack(file *os.File, start, offset int64) error { + stat, err := file.Stat() + if err != nil { + return err + } + end := stat.Size() + wrBuf := make([]byte, offset) rdBuf := make([]byte, offset)