diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2026-03-15 20:48:45 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2026-03-15 20:48:45 -0700 |
| commit | 92f4b7af1073b6cdd0786ce2090d6e446e0903ad (patch) | |
| tree | 4cfb332a36aa093d6bb4238967f1b0728fbb498f /hotline/flattened_file_object.go | |
| parent | f78ab940a8c09702be3e0ba310ac56e02fa76701 (diff) | |
Extract shared readFrom helper to deduplicate io.Reader boilerplate
13 types implemented identical offset-based io.Reader patterns with
5-7 lines of copy-and-offset-tracking code each. Extract a shared
readFrom(p, offset, data) helper and reduce each Read() method to a
one-liner delegating to it.
Diffstat (limited to 'hotline/flattened_file_object.go')
| -rw-r--r-- | hotline/flattened_file_object.go | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/hotline/flattened_file_object.go b/hotline/flattened_file_object.go index 0300c71..130e917 100644 --- a/hotline/flattened_file_object.go +++ b/hotline/flattened_file_object.go @@ -151,14 +151,7 @@ func (ffif *FlatFileInformationFork) Read(p []byte) (int, error) { ffif.Comment, ) - if ffif.readOffset >= len(buf) { - return 0, io.EOF // All bytes have been read - } - - n := copy(p, buf[ffif.readOffset:]) - ffif.readOffset += n - - return n, nil + return readFrom(p, &ffif.readOffset, buf) } // Write implements the io.Writer interface for FlatFileInformationFork @@ -253,14 +246,7 @@ func (ffo *flattenedFileObject) Read(p []byte) (int, error) { ffo.FlatFileDataForkHeader.DataSize[:], ) - if ffo.readOffset >= len(buf) { - return 0, io.EOF // All bytes have been read - } - - n := copy(p, buf[ffo.readOffset:]) - ffo.readOffset += n - - return n, nil + return readFrom(p, &ffo.readOffset, buf) } func (ffo *flattenedFileObject) ReadFrom(r io.Reader) (int64, error) { |