From 172e1211c52e9e2970a13386580f02bb6a9b32b0 Mon Sep 17 00:00:00 2001 From: Zorchenhimer Date: Sun, 7 Dec 2025 20:48:38 -0500 Subject: [PATCH] Add ReadRomFile This function combines ReadRomBlocks() and RomFromBlocks() into a single function. The other two functions still exist. --- cmd/fdslist.go | 13 +------------ reader.go | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/cmd/fdslist.go b/cmd/fdslist.go index 034f459..7420694 100644 --- a/cmd/fdslist.go +++ b/cmd/fdslist.go @@ -32,18 +32,7 @@ func main() { } func run(args *Arguments) error { - file, err := os.Open(args.Input) - if err != nil { - return err - } - defer file.Close() - - blocks, err := fds.ReadRom(file, filepath.Ext(args.Input) == ".fds") - if err != nil { - return err - } - - rom, err := fds.RomFromBlocks(filepath.Base(args.Input), blocks) + rom, err := fds.ReadRomFile(args.Input, filepath.Ext(args.Input) == ".fds") if err != nil { return err } diff --git a/reader.go b/reader.go index d4446fd..4d1b2d9 100644 --- a/reader.go +++ b/reader.go @@ -1,7 +1,7 @@ package fds import ( - //"os" + "os" "fmt" "io" "bufio" @@ -11,7 +11,22 @@ import ( "github.com/sigurn/crc16" ) -func ReadRom(r io.Reader, IsFds bool) ([]DiskBlock, error) { +func ReadRomFile(filename string, IsFds bool) (*Rom, error) { + file, err := os.Open(filename) + if err != nil { + return nil, err + } + defer file.Close() + + blocks, err := ReadRomBlocks(file, IsFds) + if err != nil { + return nil, err + } + + return RomFromBlocks(filename, blocks) +} + +func ReadRomBlocks(r io.Reader, IsFds bool) ([]DiskBlock, error) { reader := bufio.NewReader(r) magic, err := reader.Peek(4) if err != nil {